package com.jxdinfo.hussar.example.ymmb.wsdexttestingreport1.service;

import com.jxdinfo.hussar.example.ymmb.wsdexttestingreport1.model.WsdExttestingReport1;
import com.jxdinfo.hussar.support.mp.base.service.HussarService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import com.jxdinfo.hussar.example.ymmb.wsdexttestingreport1.dto.WsdExttestingReport1SelectCondition;
import com.jxdinfo.hussar.example.ymmb.wsdexttestingreport1.vo.WsdExttestingReport1PageVO;
import com.jxdinfo.hussar.platform.core.base.apiresult.ApiResponse;

/**
 * 外检报告服务类
 */
public interface WsdExttestingReport1Service extends HussarService<WsdExttestingReport1> {

    /**
     * 外检报告表格查询（带分页）
     *
     * @param page 分页对象
     * @return 查询结果
     */
    ApiResponse<WsdExttestingReport1PageVO> hussarQueryPage(Page<WsdExttestingReport1> page);

    /**
     * 外检报告表格查询（带分页）
     *
     * @param page 分页对象
     * @return 查询结果
     */
    ApiResponse<WsdExttestingReport1PageVO> hussarQueryPage_order_custom(Page<WsdExttestingReport1> page);

    /**
     * 外检报告表格自定义查询（带分页）
     * @return 查询结果
     */
    ApiResponse<WsdExttestingReport1PageVO> ConditionFilterPage(WsdExttestingReport1SelectCondition wsdExttestingReport1SelectCondition);

    /**
     * 外检报告表格自定义查询（带分页）
     * @return 查询结果
     */
    ApiResponse<WsdExttestingReport1PageVO> ConditionFilterPage_order_custom(WsdExttestingReport1SelectCondition wsdExttestingReport1SelectCondition);

    /**
     * 外检报告表格批量删除
     *
     * @param ids id数组
     * @return 删除成功标识
     */
    ApiResponse<Boolean> flagDelete(List<String> ids);

    /**
     * 外检报告新增或修改
     */
    ApiResponse<String> insertOrUpdate(WsdExttestingReport1 wsdExttestingReport1);

    /**
     * 外检报告表单查询
     */
    ApiResponse<WsdExttestingReport1> formQuery(String id);
}
